/**
 * 文件名：@MappingResolver.java <br/>
 * 包名：cn.efunbox.afw.core.resolver <br/>
 * 项目名：afw-core <br/>
 * @author xtwin <br/>
 */
package cn.efunbox.afw.core.resolver;

import java.util.Collections;
import java.util.Map;

/**
 * 类名：MappingResolver  <br />
 *
 * 功能：基于映射关系的解析器实现
 *
 * @author xtwin <br />
 * 创建时间：2015年12月2日 下午4:21:11  <br />
 * @version 2015年12月2日
 */
public class MappingResolver<T> implements Resolver<T> {
	
	// 映射关系，默认为空map，防止出现空异常
	protected Map<String, T> mapping = Collections.emptyMap();
	
	// 默认关键字
	protected String keyword;

	/**
	 * 功能: <br/>
	 * 
	 * 重写：xtwin <br/>
	 * 
	 * @version ：2015年12月2日 下午4:21:45<br/>
	 * 
	 * @param keyword
	 * @return
	 * @throws Exception <br/>
	 * @see cn.efunbox.afw.core.resolver.Resolver#resolve(java.lang.String)
	 */
	@Override
	public T resolve(String keyword) throws Exception {
		return null == keyword ? mapping.get(this.keyword) : mapping.get(keyword);
	}

	/**
	 * @version 2015年12月2日-下午4:22:42
	 */
	public void setMapping(Map<String, T> mapping) {
		this.mapping = mapping;
	}

	/**
	 * @version 2015年12月2日-下午6:13:20
	 */
	public void setKeyword(String keyword) {
		this.keyword = keyword;
	}
}
